# -*- coding: utf-8 -*-
"""
1.获取网络图像
过程 ：网站，有图片，看一下png,然后获取内容文件，保存到本地。
"""
import requests  #模拟联网
from bs4 import BeautifulSoup   #处理网页内容
import os  #处理文件，basename获取网页文件名
import tkinter as tk   #1加载
def getpic():    
    u=cs.get()  #要拉取的地址
    h={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36"}
    r=requests.get(url=u, headers=h)  #获取网络数据
    html=r.text   #r.text是网页内容
    data=BeautifulSoup(html,"html")  #用lxml解析网页
    imglist=data.find_all("img")  #在分析后的网页里面找到所有的img标签
    
    for i in range(1,len(imglist)-1):
        oname="https:"+imglist[i].get("src")   #某个图像名称
        f=requests.get(oname)  #到网站获取图片
        fname=os.path.basename(oname)  #获取文件名
        print(fname)
        with open("img\\"+fname,'wb') as p:
            p.write(f.content)            
if __name__=="__main__":
    form=tk.Tk()  #2创建tk对象 这里的Tk() ,以后用form代表你的窗体      
    form.title("获取图片")  #3.a设置标题为  查询天气
    form.geometry("300x50+100+100") #3.a设置窗体大小以及对应位置
    form.resizable(False,False)  #3.a设置窗体不能调整大小，横纵方向都不能      
    tk.Label(form,text="地址 ").place(x=10,y=10)   #3.b放一个标签，放在x=10,y=10的位置
    cs=tk.StringVar();cs.set("https://car.autohome.com.cn/pic/series-t/4363.html#pvareaid=2042214")  #4.1 定义一个公用区域，获取数据    cs支持get、set
    tk.Entry(form,textvariable=cs).place(x=60,y=10)  #3.b放一输入框，放在x=50,y=10的位置   4.2关联公用区域textvariable=cs    
    tk.Button(form,text="获取图像",command=lambda:getpic()).place(x=210,y=7) #3.b放一个按钮，文字为 查询，放在x=200,y=7的位置  5.1按钮触发事件
    form.mainloop()  #4显示tk窗体。